Broadband wireless networks based on various standards (e.g., Institute of Electronic and Electric Engineers (IEEE) 802.16 based WiMAX standard and its evolution to IEEE 802.16m provides various types of services such as voice, packet data and so on. In order to provide these kinds of services, control information and data packets needs to be exchanged between a transmitting device and a receiving device. In downlink scenario, the transmitting device may include a base station and the receiving device may include a mobile station. In uplink scenario, the transmitting device may include a mobile station and the receiving device may include a base station.
Typically, service data is generated by various applications running at the transmitting device for providing various types of services. The service data is then exchanged between the transmitting device and the receiving device upon establishing a connection. Generally, the connection is identified by a connection identifier.
Multiple connections may exist between the transmitting device and the receiving device to carry service user data belonging to multiple applications running at the transmitting device and the receiving device. On the contrary, a single connection may also be used to carry the service user data belonging to multiple applications running at the transmitting device and the receiving device. Each connection carries variable size MAC Service Data Units (SDUs) received from various applications and contains service user data.
Typically, a MAC layer in the transmitting device receives MAC SDUs from upper layer protocol. The MAC layer may fragments the MAC SDUs depending on size of MAC SDUs and resources available for transmitting MAC PDUs. In case of ARQ connection is enabled, ARQ protocol in the MAC layer generates ARQ blocks from MAC SDUs and/or MAC SDU fragments and assigns unique sequence number to each of the generated ARQ blocks. The ARQ blocks are packed in payload of MAC Protocol Data Units (PDUs) and the MAC PDUs are transmitted to a receiving device. Generally, the receiving device feedbacks status of reception of ARQ blocks to the transmitting device. Based on the status, the ARQ protocol fragments the ARQ blocks depending on size of ARQ blocks and resources for retransmission, and retransmits the fragmented ARQ blocks to the receiver.
Generally, two levels of fragmentation and reassembly processing is performed at the transmitting device and the receiving device as given below:
Fragmentation of MAC SDUs during initial transmission and fragmentation of ARQ block containing the MAC SDUs and/or MAC SDU fragments during retransmission; and
Reassembly of the fragmented ARQ block from the payload received in the MAC PDU and reassembly of the MAC SDUs from the received ARQ block.
The above processing functions significantly increase complexity at the transmitting device and the receiving device, thereby affecting performance throughput.
Also, during retransmission, the ARQ protocol divides each ARQ block into fixed size ARQ sub-blocks based on size of ARQ sub-blocks and assigns a sub-sequence number to each of the ARQ sub-blocks. This requires adding multiple headers in MAC PDUs during initial transmission and retransmission, thereby affecting throughput at the transmitting device and the receiving device.